library verilog;
use verilog.vl_types.all;
entity pmi_fifo_dc is
    generic(
        pmi_data_width_w: integer := 18;
        pmi_data_width_r: integer := 18;
        pmi_data_depth_w: integer := 256;
        pmi_data_depth_r: integer := 256;
        pmi_full_flag   : integer := 256;
        pmi_empty_flag  : integer := 0;
        pmi_almost_full_flag: integer := 252;
        pmi_almost_empty_flag: integer := 4;
        pmi_regmode     : string  := "reg";
        pmi_resetmode   : string  := "async";
        pmi_family      : string  := "EC";
        module_type     : string  := "pmi_fifo_dc";
        pmi_implementation: string  := "EBR"
    );
    port(
        Data            : in     vl_logic_vector;
        WrClock         : in     vl_logic;
        RdClock         : in     vl_logic;
        WrEn            : in     vl_logic;
        RdEn            : in     vl_logic;
        Reset           : in     vl_logic;
        RPReset         : in     vl_logic;
        Q               : out    vl_logic_vector;
        Empty           : out    vl_logic;
        Full            : out    vl_logic;
        AlmostEmpty     : out    vl_logic;
        AlmostFull      : out    vl_logic
    );
    attribute mti_svvh_generic_type : integer;
    attribute mti_svvh_generic_type of pmi_data_width_w : constant is 1;
    attribute mti_svvh_generic_type of pmi_data_width_r : constant is 1;
    attribute mti_svvh_generic_type of pmi_data_depth_w : constant is 1;
    attribute mti_svvh_generic_type of pmi_data_depth_r : constant is 1;
    attribute mti_svvh_generic_type of pmi_full_flag : constant is 1;
    attribute mti_svvh_generic_type of pmi_empty_flag : constant is 1;
    attribute mti_svvh_generic_type of pmi_almost_full_flag : constant is 1;
    attribute mti_svvh_generic_type of pmi_almost_empty_flag : constant is 1;
    attribute mti_svvh_generic_type of pmi_regmode : constant is 1;
    attribute mti_svvh_generic_type of pmi_resetmode : constant is 1;
    attribute mti_svvh_generic_type of pmi_family : constant is 1;
    attribute mti_svvh_generic_type of module_type : constant is 1;
    attribute mti_svvh_generic_type of pmi_implementation : constant is 1;
end pmi_fifo_dc;
